#if !defined(PARSE_MINI_VCF_SELECTED_STRAIN_H)
#define PARSE_MINI_VCF_SELECTED_STRAIN_H

#include "parse_mini_vcf.h"

#include <string>
#include <vector>
#include <boost/shared_ptr.hpp>

struct t_mini_vcf_selected_strain
{
    std::string                 ref;
    std::string                 alt;
    //std::string               quality;
    //std::string               filter;
    //std::string               info;
    //std::string               format;
    t_strain_data				strain_data;  
};

template <typename Iterator>
struct mini_vcf_selected_strain_grammar;

typedef boost::shared_ptr<mini_vcf_selected_strain_grammar<std::string::const_iterator> > sp_vcf_selected_strain_grammar ;

sp_vcf_selected_strain_grammar create_mini_vcf_selected_strain_grammar(unsigned cnt_strains, unsigned strain_index, unsigned& curr_line_number);
bool parse_mini_vcf_selected_strain(sp_vcf_selected_strain_grammar p_vcf_selected_strain_grammar, std::string::const_iterator& str_beg, std::string::const_iterator str_end, t_mini_vcf_selected_strain& res);



#endif	// PARSE_MINI_VCF_SELECTED_STRAIN_H
